1. Field of the Invention
The present invention relates to a communication terminal, a communication system, a congestion control method, and a congestion control program, and particular, a communication terminal, a communication system, a congestion control method, and a congestion control program which perform low-delay communication even on a high-speed line.
This application is based upon and claims the benefit of priority from Japanese patent application No. 2007-055830, filed on Mar. 6, 2007, the disclosure of which is incorporated herein in its entirety by reference.
2. Description of the Related Art
In communication through a network, in order to perform a low-delay communication between transmission/reception terminals (terminals which carries out transmission and reception), time taken by causing a transmission bandwidth to reach an optimum bandwidth is required to be shortened as much as possible after the start of transmission. When an amount of transmission data is large, time taken by communication is originally long. For this reason, even though a long time is taken for reaching the optimum transmission bandwidth, the long time has no serious effect. However, when the amount of transmission data is small, if a long time is taken for reaching the optimum transmission bandwidth, communication may be ended until the transmission bandwidth reaches the optimum transmission bandwidth. For this reason, delay of the communication elongates.
When an amount of transmission data is small, if a transmission bandwidth at the start of transmission is smaller than an optimum value, delay time elongates because a network bandwidth cannot be effectively utilized. In contrast to this, when the transmission bandwidth at the start of transmission is larger than the optimum value, delay time elongates because the network is congested.
Since the optimum transmission bandwidth is determined depending on a network state, the optimum transmission bandwidth cannot be fixed immediately after the start of transmission at which the network state is unstable. Therefore, in a congestion control method, the following techniques are used to control the transmission bandwidth to an optimum value.
The first technique is a technique in which a node in a network notifies a transmission terminal of an optimum transmission bandwidth or a technique in which a transmission terminal calculates an optimum transmission bandwidth on the basis of information sent from a node in a network. As an example of the first technique, a method described in “Processor Sharing Flows in the Internet” (Nandita Dukkipati, Masayoshi Kobayashi, Rui Zhang-Shen, Nick McKeown, Thirteenth International Workshop on Quality of Service (IWQoS)) is given. In the method, ideally, an optimum transmission bandwidth can be obtained for time which is almost equal to a round-trip propagation delay time between transmission/reception terminals.
The second technique which transmits a predetermined number of measurement packets or data packets after a start of transmission to estimate an optimum transmission bandwidth and then performs transmission in the estimated transmission bandwidth. For example, in a TCP-Westwood method described in Kenshin Yamada, Ren Wang, and M. Y. Sanadidi and Mario Gerla “TCP westwood with agile probing: Dealing with dynamic, large, leaky pipes”, In Processing of IEEE ICC. volume 2. pages 1070-1074. 2004, a method described in Japanese Patent Laying-Open No. 2006-173961 (JP-A-2006-173961), or a method described in JP-A-2004-090492, an optimum communication bandwidth is estimated during TCP communication, and congestion control is performed such that a transmission bandwidth is converged to the communication bandwidth for a short period of time, so that the transmission bandwidth early reaches the optimum bandwidth after the start of transmission. In a method described in JP-A-2006-279283, an optimum communication bandwidth is estimated during TCP communication, and congestion control is performed such that a transmission bandwidth exceeds the communication bandwidth, so that unnecessary congestion is prevented and shortens data transfer delay time. In these methods, after a predetermined number of TCP packets are transmitted after the start of transmission, transmission of the packets is stopped until acknowledgement packets (ACK packets) to these packets arrive. Thereafter, an optimum transmission bandwidth is calculated on the basis of an arrival state of the ACK packets to continue communication.
The third technique is a technique which observes a congestion state of a network while performing transmission and adaptively changes a transmission bandwidth depending on the observation result to converge the transmission bandwidth to the optimum value. For example, in a TCP-NewReno method described in The NewReno Modification to TCP's Fast Recovery Algorithm, RFC2582, Internet Engineering Task Force (IETF), a transmission bandwidth is rapidly increased until a congestion window size reaches a slow start threshold value. Thereafter, the transmission bandwidth is gradually increased until packet discard occurs. In the packet discard, the transmission bandwidth is temporarily cut into half and then increased again as described above, so that congestion is controlled such that the transmission bandwidth varies near the optimum bandwidth.
It is a disadvantage of the first technique that, since pieces of information must be obtained from all the nodes in a network, time corresponding to one round-trip delay time is taken until an optimum transmission bandwidth is obtained after a start of transmission at the minimum. In this technique, since a network node must transmit information related to a transmission bandwidth to a transmission terminal, functions corresponding to all network nodes must be mounted. The technique cannot be easily used in an actual environment.
It is a disadvantage of the second technique that time taken for estimating an optimum transmission bandwidth and, therefore, time taken until the optimum transmission bandwidth is obtained is longer than that in the first technique. In addition, it is another disadvantage that a measurement period is limited because a predetermined number of packets are transmitted immediately after a start of transmission to measure a bandwidth, a measurement period is limited, and an estimated bandwidth is not always an optimum value. In general, when the number of measurement packets is small, a value larger than the optimum value tends to be estimated.
A disadvantage of the third technique is that, a transmission bandwidth is adaptively changed while measuring a state of a network, time taken until an optimum transmission bandwidth is obtained is longer than that in the second technique.